Skip to content

Conversation

@indygreg
Copy link
Collaborator

This series of commits (read the individual commit messages for more details) prepares the cpython-unix build system for building multiple Python X.Y versions in parallel. We don't yet actually implement the frontend support for parallel builds so the scope of the PR is more manageable and limited to (supposedly) backwards compatible behavior.

I'm about to enable support for parallel CPython builds. This
function was currently not safe if called in parallel. This was
causing setuptools / pip downloads to race writing to the same file
and failing builds.
This is less ergonomic (oh Make). But it will make it easier to
build multiple Python versions at the same time in a future commit.
Previously we generated the same Makefile for every Python version.
We can simplify things by only writing 1 Makefile per target
configuration.
This refactor allows targets for each major Python version to be
defined simultaneously. This opens the door to a single `make`
invocation building multiple versions in parallel.
@indygreg indygreg requested a review from zanieb December 14, 2024 20:20
@zanieb
Copy link
Member

zanieb commented Dec 15, 2024

Thanks! Will review on Monday.

Copy link
Member

@zanieb zanieb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Make hurts my brain a little, but I have no objections :) thanks for the nice discrete commits

@indygreg
Copy link
Collaborator Author

Yeah, make is a "fun" language.

@indygreg indygreg merged commit b16301a into main Dec 16, 2024
280 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants